package com.tedu.api.io;

import org.junit.Test;

import java.io.File;
import java.io.FileFilter;

/**
 * 作业1:listFiles(FileFilter接口），使用实现类方式
 *                                 使用匿名内部类方式
 *      创建一次对象，使用匿名内部类
 *      语法：  接口  接口引用=new  接口（）{重写：accept};
 * 作业2：删除 demo 下有 abc  以及  bcd的文件
 *      提示:demo/abc/bcd
 *      查 File构造器方法：从内部依次删除
 *      new File(parent,"路径”）; --API介绍
 *     构造器:第一个参数：指定父级路径---确定不变---建议：使用传两个参数方法
 *           第二个参数：指定子集路径
 *
 */
public class HomeWork {
    public static void main(String[] args) {
        //获取“API”项目下:File构造器传入
        File file = new File(".");
        File[] subs = file.listFiles(new FileFilter() {
            public boolean accept(File pathname) {
                return pathname.isDirectory() && pathname.getName().startsWith("s");
            }
        });
        for (int i = 0; i < subs.length; i++) {
            System.out.println("过滤后文件夹" + subs[i].getName());
        }
    }
    @Test
    public void testDelete() {
        //demo/abc/bcd/demo.txt
        String parent="demo"+File.separator;
        //abc/bcd/demo.txt    第一个子集：删除 demo.txt
        String child1="abc"+File.separator+"bcd"+File.separator+
                ""+File.separator+"demo.txt";
        String child2="abc"+File.separator+"bcd";
        String child3="abc";
        //创建4次File对象
        File file1=new File(parent,child1);
        file1.delete();
        File file2=new File(parent,child2);  //删除  bcd文件夹
        file2.delete();
        File file3=new File(parent,child3);  //删除 abc；
        file3.delete();
        File file4=new File(parent);
        file4.delete();
    }

}
